package com.jrx.anytxn.feign.api.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jrx.anytxn.common.constant.RegexConstant;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * txn跑批任务请求api
 *
 * @author chenj
 * @date 2022/10/13 16:30
 */
public class LimitLogoutRequest implements Serializable {

    /**
     * 请求流水号
     */
    @NotBlank(message = "请求流水号不能为空")
    @Size(max = 32, message = "交易流水号必须小于32位")
    @Pattern(regexp = RegexConstant.ALL_CHARSET_AND_NUMBER, message = "流水号只能是英文字母和数字组成且不可为空")
    protected String reqSeq;

    /**
     * 渠道号
     */
    @NotBlank(message = "渠道号不能为空")
    protected String channelNo;

    /**
     * 用户Id
     */
    @NotBlank(message = "用户Id不能为空")
    protected String userId;

    /**
     * 租戶id
     * 表字段:tenant_id
     */
    private String tenantId;

    /**
     * 业务类型
     **/
    @Size(max=1, message = "业务类型1--兴安花、2--兴安付、3--信用就医、4--兴安借")
    private String bizType;


    @Override
    public String toString() {
        return "LimitLogoutRequest{" +
                "reqSeq='" + reqSeq + '\'' +
                ", channelNo='" + channelNo + '\'' +
                ", userId='" + userId + '\'' +
                ", tenantId='" + tenantId + '\'' +
                ", bizType='" + bizType + '\'' +
                '}';
    }

    /**
     * 获取 请求流水号
     *
     * @return reqSeq 请求流水号
     */
    public String getReqSeq() {
        return this.reqSeq;
    }

    /**
     * 设置 请求流水号
     *
     * @param reqSeq 请求流水号
     */
    public void setReqSeq(String reqSeq) {
        this.reqSeq = reqSeq;
    }

    /**
     * 获取 渠道号
     *
     * @return channelNo 渠道号
     */
    public String getChannelNo() {
        return this.channelNo;
    }

    /**
     * 设置 渠道号
     *
     * @param channelNo 渠道号
     */
    public void setChannelNo(String channelNo) {
        this.channelNo = channelNo;
    }

    /**
     * 获取 用户Id
     *
     * @return userId 用户Id
     */
    public String getUserId() {
        return this.userId;
    }

    /**
     * 设置 用户Id
     *
     * @param userId 用户Id
     */
    public void setUserId(String userId) {
        this.userId = userId;
    }

    /**
     * 获取 租戶id      表字段:tenant_id
     *
     * @return tenantId 租戶id      表字段:tenant_id
     */
    public String getTenantId() {
        return this.tenantId;
    }

    /**
     * 设置 租戶id      表字段:tenant_id
     *
     * @param tenantId 租戶id      表字段:tenant_id
     */
    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    /**
     * 获取 业务类型
     *
     * @return bizType 业务类型
     */
    public String getBizType() {
        return this.bizType;
    }

    /**
     * 设置 业务类型
     *
     * @param bizType 业务类型
     */
    public void setBizType(String bizType) {
        this.bizType = bizType;
    }
}
